package com.handyshop.mall.dubbo.order.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.handyshop.mall.dubbo.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

@ApiModel(value = "订单物流表")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "nrs_delivery")
public class Delivery extends BaseEntity {
    /**
     * 业务类型
     */
    @TableField(value = "`type`")
    @ApiModelProperty(value = "业务类型")
    private Object type;

    /**
     * 相关订单
     */
    @TableField(value = "order_id")
    @ApiModelProperty(value = "相关订单")
    private Long orderId;

    /**
     * 相关会员
     */
    @TableField(value = "user_id")
    @ApiModelProperty(value = "相关会员")
    private Long userId;

    /**
     * 发货类型(0: 普通物流发货 ; 1: 自营仓发货)
     */
    @TableField(value = "send_type")
    @ApiModelProperty(value = "发货类型(0: 普通物流发货 ; 1: 自营仓发货)")
    private Byte sendType;

    /**
     * 物流公司
     */
    @TableField(value = "dlycorp_id")
    @ApiModelProperty(value = "物流公司")
    private Long dlycorpId;

    /**
     * 物流单号
     */
    @TableField(value = "logistics_no")
    @ApiModelProperty(value = "物流单号")
    private String logisticsNo;

    /**
     * 物流费用
     */
    @TableField(value = "cost_freight")
    @ApiModelProperty(value = "物流费用")
    private BigDecimal costFreight;

    /**
     * 保价费用
     */
    @TableField(value = "cost_protect")
    @ApiModelProperty(value = "保价费用")
    private BigDecimal costProtect;

    /**
     * 发(退)货人
     */
    @TableField(value = "consignor_name")
    @ApiModelProperty(value = "发(退)货人")
    private String consignorName;

    /**
     * 发(退)货人地区
     */
    @TableField(value = "consignor_area")
    @ApiModelProperty(value = "发(退)货人地区")
    private String consignorArea;

    /**
     * 发(退)货人地址
     */
    @TableField(value = "consignor_addr")
    @ApiModelProperty(value = "发(退)货人地址")
    private String consignorAddr;

    /**
     * 发(退)货地邮编
     */
    @TableField(value = "consignor_zip")
    @ApiModelProperty(value = "发(退)货地邮编")
    private String consignorZip;

    /**
     * 发(退)货人电话
     */
    @TableField(value = "consignor_tel")
    @ApiModelProperty(value = "发(退)货人电话")
    private String consignorTel;

    /**
     * 发(退)货人手机
     */
    @TableField(value = "consignor_mobile")
    @ApiModelProperty(value = "发(退)货人手机")
    private String consignorMobile;

    /**
     * 发(退)货人Email
     */
    @TableField(value = "consignor_email")
    @ApiModelProperty(value = "发(退)货人Email")
    private String consignorEmail;

    /**
     * 收货人姓名
     */
    @TableField(value = "consignee_name")
    @ApiModelProperty(value = "收货人姓名")
    private String consigneeName;

    /**
     * 收货人地区
     */
    @TableField(value = "consignee_area")
    @ApiModelProperty(value = "收货人地区")
    private String consigneeArea;

    /**
     * 收货人地址
     */
    @TableField(value = "consignee_addr")
    @ApiModelProperty(value = "收货人地址")
    private String consigneeAddr;

    /**
     * 收货人邮编
     */
    @TableField(value = "consignee_zip")
    @ApiModelProperty(value = "收货人邮编")
    private String consigneeZip;

    /**
     * 收货人电话
     */
    @TableField(value = "consignee_tel")
    @ApiModelProperty(value = "收货人电话")
    private String consigneeTel;

    /**
     * 收货人手机
     */
    @TableField(value = "consignee_mobile")
    @ApiModelProperty(value = "收货人手机")
    private String consigneeMobile;

    /**
     * 收货人Email
     */
    @TableField(value = "consignee_email")
    @ApiModelProperty(value = "收货人Email")
    private String consigneeEmail;

    /**
     * 状态(0: 未发货;1:已发货;2:已作废)
     */
    @TableField(value = "`status`")
    @ApiModelProperty(value = "状态(0: 未发货;1:已发货;2:已作废)")
    private Byte status;

    /**
     * 备注
     */
    @TableField(value = "note")
    @ApiModelProperty(value = "备注")
    private String note;

    public static final String COL_ID = "id";

    public static final String COL_TYPE = "type";

    public static final String COL_ORDER_ID = "order_id";

    public static final String COL_USER_ID = "user_id";

    public static final String COL_SEND_TYPE = "send_type";

    public static final String COL_DLYCORP_ID = "dlycorp_id";

    public static final String COL_LOGISTICS_NO = "logistics_no";

    public static final String COL_COST_FREIGHT = "cost_freight";

    public static final String COL_COST_PROTECT = "cost_protect";

    public static final String COL_CONSIGNOR_NAME = "consignor_name";

    public static final String COL_CONSIGNOR_AREA = "consignor_area";

    public static final String COL_CONSIGNOR_ADDR = "consignor_addr";

    public static final String COL_CONSIGNOR_ZIP = "consignor_zip";

    public static final String COL_CONSIGNOR_TEL = "consignor_tel";

    public static final String COL_CONSIGNOR_MOBILE = "consignor_mobile";

    public static final String COL_CONSIGNOR_EMAIL = "consignor_email";

    public static final String COL_CONSIGNEE_NAME = "consignee_name";

    public static final String COL_CONSIGNEE_AREA = "consignee_area";

    public static final String COL_CONSIGNEE_ADDR = "consignee_addr";

    public static final String COL_CONSIGNEE_ZIP = "consignee_zip";

    public static final String COL_CONSIGNEE_TEL = "consignee_tel";

    public static final String COL_CONSIGNEE_MOBILE = "consignee_mobile";

    public static final String COL_CONSIGNEE_EMAIL = "consignee_email";

    public static final String COL_STATUS = "status";

    public static final String COL_NOTE = "note";

    public static final String COL_DELETE_FLAG = "delete_flag";

    public static final String COL_CREATOR_ID = "creator_id";

    public static final String COL_CREATOR = "creator";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_MODIFY_TIME = "modify_time";
}